export default {
  // 开启命名空间
  namespaced: true,

  // state 数据
  state: () => ({
    // 收货地址
    // 读取本地的收货地址数据，初始化 address 对象
        address: JSON.parse(uni.getStorageSync('address') || '{}'),
				token:uni.getStorageSync('token')||'',
				// 用户信息对象
				userInfo:JSON.parse(uni.getStorageSync('userInfo')||'{}')
  }),

  // 方法
  mutations: {
    // 更新收货地址
    updateAddress(state, address) {
      state.address = address
			this.commit('m_user/saveAddressToStorage')
    },
		 // 定义将 address 持久化存储到本地 mutations 方法
		    saveAddressToStorage(state) {
		      uni.setStorageSync('address', JSON.stringify(state.address))
		    },
				
		// 更新用户信息
		updateUserInfo(state,userInfo){
			state.userInfo=userInfo
			// 持久化存储
			this.commit('m_user/saveUserInfoToStorage')
		},
		
		  // 将 userinfo 持久化存储到本地
		  saveUserInfoToStorage(state) {
		    uni.setStorageSync('userinfo', JSON.stringify(state.userinfo))
		  },
			updateToken(state,token){
				state.token=token
				this.commit('m_user/saveToken')
			},
			saveToken(state){
				uni.setStorageSync('token',state.token)
			}
  },

  // 数据包装器
  getters: {
		  // 收货详细地址的计算属性
		 addstr(state) {
		    if (!state.address.provinceName) return ''
		
		    // 拼接 省，市，区，详细地址 的字符串并返回给用户
		    return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
		  }
	},
}